#coding=utf-8
import unittest
from selenium import webdriver
from appium import webdriver
from time import sleep
from nav_plugin_op import nav_plugin_factory
from selenium.common.exceptions import WebDriverException
import os
from Public import BasePage
from Tool.usefulTools import userfulToolsFactory
from Public.BasePage import element_Oprate
from Public.BasePage import BasicAction
from Public import BaseConstant
import settings

#实例化基础数据
navOpenFactory = nav_plugin_factory()
userfulTool = userfulToolsFactory()
element_oprate_instance = element_Oprate()
basicAction = BasicAction()
Map_Paramter_instances = BaseConstant.Map_Paramter

nav_name = ["导航栏工作for地图",'xpath',"//android.widget.LinearLayout/android.widget.LinearLayout[2]/android.widget.FrameLayout/android.widget.RadioButton"]
plugin_name = ["插件列表-地图",'name','地图']

class map_select_factory():

	def open_mapselect_plug(self,driver,file_path):

		try:
            # 点击工作的导航，打开工作列表
			element_oprate_instance.element_click(nav_name,file_path)
            # 点击"地图"的插件，打开插件
			element_oprate_instance.element_click(plugin_name,file_path)
            #等待专项普查页面内容进行加载，加载完成之后进行页面确认并界面
			if element_oprate_instance.element_display_commit(Map_Paramter_instances.select_name, file_path):
				element_oprate_instance.element_save_pic(file_path, 'open_mapselect_plug_successful')
			else:
				print 'test failed'

		except WebDriverException,error:
			print error
			element_oprate_instance.element_save_pic(file_path, 'open_mapselect_plug_fail')
			raise

	def Select_Map(self,driver,file_path):
		try:
			driver.swipe(400,250,400,200,800)
			sleep(2)
			element_oprate_instance.element_save_pic(file_path, 'Select_Map_click')
			element_oprate_instance.element_click(Map_Paramter_instances.select_name, file_path)
			element_oprate_instance.element_save_pic(file_path, 'select_map')
			element_oprate_instance.element_click(Map_Paramter_instances.confirm_name, file_path)

		except WebDriverException,error:
			print error
			element_oprate_instance.element_save_pic(file_path, 'Select_Map_fail')
			raise

	#点击全图操作
	def full_map_function(self):
		sleep(3)
		element_oprate_instance.element_click(Map_Paramter_instances.full_map_button,settings.pic_file_path)
		sleep(5)
		element_oprate_instance.element_save_pic(settings.pic_file_path,'full_map_function')

if __name__ == '__main__':
	unittest.main()